PROGRAM teste


   type dat 
      integer :: numero
      real :: valor   
   end type dat

   type tteste
      type (dat), pointer, dimension(:) :: values  
   end type tteste
   type(tteste),dimension(4) :: principal

   integer :: i,j
   real x
   
   allocate(principal(1)%values(3))
   allocate(principal(2)%values(3))
   allocate(principal(3)%values(3))
   allocate(principal(4)%values(3))
   
   principal(1)%values(1)%numero=3
   principal(1)%values(1)%valor=1.33
   
   DO i=1,4
     DO j=1,3
        print *, i,j,principal(i)%values(j)%numero,principal(i)%values(j)%valor
     END DO
  END DO	
   
END PROGRAM teste
